package com.yfp.operation.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 抽奖主表
 * @TableName lottery_records
 */
@TableName(value ="lottery_records")
@Data
public class LotteryRecords implements Serializable {
    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 活动名称
     */
    @Schema(description = "活动名称")
    private String name;

    /**
     * 活动开始时间
     */
    @Schema(description = "活动开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 活动结束时间
     */
    @Schema(description = "活动结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 状态:[0:删除,1:进行中,2:已失效,3:已过期,4:待开始]
     */
    @Schema(description = "状态:[0:删除,1:进行中,2:已失效,3:已过期,4:待开始]")
    private Integer status;

    /**
     * 活动备注
     */
    @Schema(description = "活动备注")
    private String remark;

    /**
     * 活动设置活动说明
     */
    @Schema(description = "活动设置活动说明")
    private String activityRule;

    /**
     * 活动设置背景图
     */
    @Schema(description = "活动设置背景图")
    private String backgroundImg;

    /**
     * 抽奖条件设置-单笔订单金额满*元
     */
    @Schema(description = "抽奖条件设置-单笔订单金额满*元")
    private BigDecimal conditionPrice;

    /**
     * 抽奖条件设置-活动时间内满*笔
     */
    @Schema(description = "抽奖条件设置-活动时间内满*笔")
    private Integer conditionOrderQuantity;

    /**
     * 抽奖条件限制-每日单人抽奖次数上限
     */
    @Schema(description = "抽奖条件限制-每日单人抽奖次数上限")
    private Integer conditionEverydayLottery;

    /**
     * 抽奖条件限制-活动期间单人总抽奖次数
     */
    @Schema(description = "抽奖条件限制-活动期间单人总抽奖次数")
    private Integer conditionTotalLottery;

    /**
     * 中奖弹窗-图片地址
     */
    @Schema(description = "中奖弹窗-图片地址")
    private String winPopupImageUrl;

    /**
     * 中奖弹窗-按钮
     */
    @Schema(description = "中奖弹窗-按钮")
    private String winPopupBtn;

    /**
     * 未中奖弹窗-图片地址
     */
    @Schema(description = "未中奖弹窗-图片地址")
    private String losePopupImageUrl;

    /**
     * 未中奖弹窗-文本文案
     */
    @Schema(description = "未中奖弹窗-文本文案")
    private String losePopupText;

    /**
     * 未中奖弹窗-按钮
     */
    @Schema(description = "未中奖弹窗-按钮")
    private String losePopupBtn;

    /**
     * 分享设置-分享标题
     */
    @Schema(description = "分享设置-分享标题")
    private String shareTitle;

    /**
     * 分享设置-上传图片
     */
    @Schema(description = "分享设置-上传图片")
    private String shareImg;

    /**
     * 城市名称
     */
    @Schema(description = "城市名称")
    private String cityName;

    /**
     * 部门ID（数据权限使用）
     */
    @Schema(description = "部门ID（数据权限使用）")
    private Long deptId;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 创建人
     */
    @Schema(description = "创建人")
    private Long createUserId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private List<LotteryRecordsReward> lotteryRecordsRewardList;

}